Skip to content

Conversation

@orizi
Copy link
Collaborator

@orizi orizi commented Feb 1, 2026

Summary

Changed CI workflow by removing the parallel-cairo-tests job and integrating its functionality directly into the cairotest job. The tests that were previously run in parallel are now executed sequentially in the cairotest job, but being run in release. Also added a cairotest job to the nightly workflow that runs the same Cairo tests with the ci-dev profile.


Type of change

Please check one:

  • Bug fix (fixes incorrect behavior)
  • New feature
  • Performance improvement
  • Documentation change with concrete technical impact
  • Style, wording, formatting, or typo-only change

⚠️ Note:
To keep maintainer workload sustainable, we generally do not accept PRs that
are only minor wording, grammar, formatting, or style changes.
Such PRs may be closed without detailed review.


Why is this change needed?

The current CI ran in ci-dev, which is much slower. This change enhances the CI process to run in release. Additionally, adding the cairotest job to the nightly workflow ensures these tests are run regularly with the ci-dev profile.


What was the behavior or documentation before?

Cairo tests were run in parallel in a separate job (parallel-cairo-tests) with a matrix strategy, and the cairotest job only checked if the parallel job succeeded. The nightly workflow did not include Cairo tests.


What is the behavior or documentation after?

The cairotest job now directly runs all the Cairo tests sequentially without depending on a separate parallel job. The same tests are also run in the nightly workflow with the ci-dev profile.


Additional context

This change simplifies the CI workflow structure while maintaining the same test coverage. Running the tests sequentially might take slightly longer but eliminates the overhead of managing parallel jobs.

@reviewable-StarkWare
Copy link

This change is Reviewable

Copy link
Collaborator Author

orizi commented Feb 1, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@orizi orizi requested a review from eytan-starkware February 1, 2026 10:49
@orizi orizi marked this pull request as ready for review February 1, 2026 10:51
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d421683cc1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 127 to 128
cairotest:
if: ${{ always() }}
needs: parallel-cairo-tests
runs-on: ubuntu-latest

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove nonexistent job dependency

The cairotest job still declares needs: parallel-cairo-tests, but the parallel-cairo-tests job was deleted in this commit. GitHub Actions treats a workflow referencing a missing job as invalid, so the entire CI workflow will fail to load rather than run tests. This breaks CI for every push until the dependency is removed or the job is restored.

Useful? React with 👍 / 👎.

Comment on lines 131 to 134
steps:
- if: needs.parallel-cairo-tests.result == 'success'
run: exit 0
- if: needs.parallel-cairo-tests.result != 'success'
run: exit 1
- run: |
cargo run --profile=release --bin cairo-test -- corelib/

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Check out repo and toolchain before running tests

The cairotest job now runs cargo run commands but no longer checks out the repository or installs a Rust toolchain. On GitHub Actions, jobs start in an empty workspace, so these steps will fail with missing source/toolchain errors. This will make the job fail even if the removed dependency is fixed.

Useful? React with 👍 / 👎.

Comment on lines 33 to 34
cairotest:
if: ${{ always() }}
needs: parallel-cairo-tests
runs-on: ubuntu-latest

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove nonexistent job dependency

The new nightly cairotest job also declares needs: parallel-cairo-tests, but there is no such job in nightly.yml. GitHub Actions will reject the workflow definition, preventing the nightly schedule from running at all until the dependency is removed or the job is added.

Useful? React with 👍 / 👎.

Comment on lines 37 to 40
steps:
- run: |
cargo run --profile=ci-dev --bin cairo-test -- corelib/

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Check out repo and toolchain before running tests

The nightly cairotest job runs cargo run without checking out the repo or installing a toolchain. As with the CI workflow, this will fail on GitHub Actions because the workspace is empty by default and cargo may not be available. Add actions/checkout and a toolchain step before these commands.

Useful? React with 👍 / 👎.

@orizi orizi force-pushed the orizi/02-01-performance_ci_made_cairo_tests_run_in_release branch from d421683 to 4afda97 Compare February 1, 2026 10:55
Copy link
Collaborator Author

@orizi orizi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@orizi resolved 4 discussions.
Reviewable status: 0 of 2 files reviewed, all discussions resolved (waiting on @eytan-starkware).

Copy link
Contributor

@eytan-starkware eytan-starkware left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eytan-starkware reviewed 2 files and all commit messages, and made 3 comments.
Reviewable status: all files reviewed, 3 unresolved discussions (waiting on @orizi).


.github/workflows/nightly.yml line 34 at r2 (raw file):

  cairotest:
    if: ${{ always() }}

ditto


.github/workflows/nightly.yml line 35 at r2 (raw file):

  cairotest:
    if: ${{ always() }}
    needs: parallel-cairo-tests

Isnt parallel cairo tests the thing you just replaced?


.github/workflows/ci.yml line 128 at r2 (raw file):

  # Checks that all Cairo code tests run correctly.
  cairotest:
    if: ${{ always() }}

is if always necessary?

@orizi orizi force-pushed the orizi/02-01-performance_ci_made_cairo_tests_run_in_release branch from 4afda97 to fb49b6a Compare February 2, 2026 09:41
@orizi orizi force-pushed the orizi/02-01-performance_ci_made_cairo_tests_run_in_release branch from fb49b6a to adfbff3 Compare February 2, 2026 11:12
Copy link
Collaborator Author

@orizi orizi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@orizi made 3 comments.
Reviewable status: 0 of 2 files reviewed, 3 unresolved discussions (waiting on @eytan-starkware).


.github/workflows/ci.yml line 128 at r2 (raw file):

Previously, eytan-starkware wrote…

is if always necessary?

Done.


.github/workflows/nightly.yml line 34 at r2 (raw file):

Previously, eytan-starkware wrote…

ditto

Done.


.github/workflows/nightly.yml line 35 at r2 (raw file):

Previously, eytan-starkware wrote…

Isnt parallel cairo tests the thing you just replaced?

Done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants